package com.gouwudai.gobbs.dao;

import com.gouwudai.gobbs.pojo.TbbsRegCounter;
import com.litt.core.exception.DBException;

/**
 * <pre>
 *  Title:TODO
 *  Description: TODO  
 * </pre>
 * 
 * @author <a href="mailto:littcai@hotmail.com">空心大白菜</a>
 * @date 2007-3-29
 * @version 1.0
 * <pre>
 * 修改记录
 *    修改后版本:     修改人：  修改日期:     修改内容: 
 * </pre>
 */
public interface IRegCounterDAO {

	/**
	 * 用户点击社区时更新统计相关信息
	 */
	public void updateHits();

	/**
	 * 用户注册修改用户信息时更新统计相关信息
	 * @param boy	  0 - 没变化，-1 - 男生个数减1，1 - 男人个数加1
	 * @param girl    0 - 没变化，-1 - 女生个数减1，1 - 女人个数加1
	 * @param secret  0 - 没变化，-1 - 保密个数减1，1 - 保密个数加1
	 * @param isNew	  是否是新增用户
	 * @throws DBException
	 */
	public void updateUserModify(int boy, int girl, int secret, boolean isNew,
			String userName);

	/**
	 * 执行删除主题时更新统计信息
	 */
	public void updateDelTopic();

	/**
	 * 执行删除回复时更新统计信息
	 */
	public void updateDelRe();

	/**
	 * 用户增加主题时更新统计相关信息
	 */
	public void updateTodayTopic();

	/**
	 * 用户增加回复时更新统计相关信息
	 */
	public void updateTodayRe();

	/**
	 * 执行删除分类下所有文章时更新主题数和回复数统计信息
	 */
	public void updateDelClass(int topicCount, int reCount);

	/**
	 * 更新最大在线人数
	 */
	public void updateMostOnline(int mostOnline);

	/**
	 * 提取统计信息,只有一条
	 */
	public TbbsRegCounter loadLastestCounterInfo();
    
    /**
     * 获得当天的统计信息，如果当天没统计则增加一条统计信息
     */
    public TbbsRegCounter loadTodayCounterInfo();

}